Reusable Specification Components for Model-Driven Development∗

نویسندگان

  • Kathryn Anne Weiss
  • Elwin C. Ong
  • Nancy G. Leveson
چکیده

Modern, complex control systems for a specific application domain often display common system design architectures with similar subsystem functionality and interactions, making them suitable for representation by a reusable specification architecture. For example, every spacecraft requires attitude determination and control, power, thermal, communications, and propulsion subsystems. The similarities between these subsystems in most spacecraft can be exploited to create a model-driven system development environment in which generic reusable specifications and models can be tailored for the specific spacecraft design, executed and validated in a simulation environment, and then either manually or automatically transformed into software or hardware. Modifications to software and hardware during operations can be similarly made in the same controlled way, that is, starting from a model, validating the change, and finally implementing the change. The approach is illustrated using a spacecraft attitude determination and control subsystem. 1 Component-Based System Engineering Reuse is clearly a partial solution to the long and costly development problems we are experiencing with complex control systems. The reuse of application software components, however, has had surprisingly limited success in many domains and has, at times, resulted in spectacular losses. In spacecraft, for example, NASA and the European Space Agency have lost billions of dollars and important scientific missions due to software reuse and poorly designed changes to operating software. The question is how to get the benefits of reuse without the drawbacks [12]. The answer may rest in the development level at which reuse is applied. The most problematic reuse has been attempted at the code level, but reuse may be more effective and safe by going back to an earlier development phase in a model-driven development environment. Component-based system engineering (as opposed to component-based software engineering) employs reuse at the requirements and specifications level, where required changes to the reused components are made and validated and the code is then regenerated either manually or automatically. Changes at that level can be made (or at least reviewed) by system engineers and domain experts who are more likely to understand the application’s engineering requirements in depth and less likely to make changes that violate the basic engineering assumptions underlying the system. A basic requirement for successful use of this approach is having specifications and models that include thoroughly documented design rationale and assumptions. For example, although ∗The research in this paper was partially supported by NSF ITR Grant CCR-0085829, by a grant from the NASA Engineering for Complex Systems Program NAG2-1543, and by a grant from the NASA Intelligent Systems (Human-Centered Computing) Program NCC2-1223

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An environment for specif icat ion reuse

Reuse in the early development phases of an application can reduce the effort of producing specifications and improve their quality. The paper presents the requirement specification phase for object-oriented applications under a reuse approach. Object-oriented specifications are reused by accessing a repository of reusable components and by adapting them to the application requirements. A model...

متن کامل

A Development Approach for Workflow-Based E-Commerce using Reusable Distributed Components

With the emergence of component-based technologies, there is a push toward software reuse. Reusable software components, such as Java Beans, ActiveX components, COM objects, registry services, etc., can be used to support a wide variety of distributed services. The reuse of such components has reduced the need for full lifecycle development and deployment, both in research and industry. Such “t...

متن کامل

A Specification-Based Approach for Retrieval of Reusable Business Component for Software Reuse

Software reuse can be considered as the most realistic and promising way to improve software engineering productivity and quality. Automated assistance for software reuse involves the representation, classification, retrieval and adaptation of components. The representation and retrieval of components are important to software reuse in Component-Based on Software Development (CBSD). However, cu...

متن کامل

A Model-Driven Framework for Component-Based Development

This paper presents a Model-Driven framework to support componentbased development. The framework addresses the following important issues: (1) how to reduce the cost of making component reusable, (2) how to efficiently ensure compatibility among components in a composition, (3) how to relate service composition to system composition. The framework supports three kinds of reusable building bloc...

متن کامل

Formal Specification of Mixed Components with Korrigan

Formal specifications are now widely accepted in software development. Recently, the need for a separation of concerns with reference to static and dynamic aspects appeared. Furthermore, in order to be able to design complex architectures and communication patterns, we need a structured approach which allows us to decompose a system into subparts and to recompose it from them. Finally, a notion...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003